분산 파일 시스템
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
분산 파일 시스템은 사용자와 프로그램이 네트워크를 통해 파일에 접근할 때 로컬 디스크에 있는 것처럼 다룰 수 있도록 투명성을 제공한다. 1970년대에 파일 서버가 개발되었으며, 1985년 썬 마이크로시스템즈는 인터넷 프로토콜 기반 네트워크 파일 시스템인 NFS를 개발했다. 분산 파일 시스템은 성능, 동시 파일 갱신, 분산 데이터 스토어 등을 특징으로 하며, 여러 클라이언트 프로세스가 동일한 파일을 동시에 갱신할 수 있도록 동시성 제어 및 락을 통합한다. 주요 프로토콜로는 9P, NFS, SMB 등이 있으며, 분산, 병렬, 결함 허용, SAN/클러스터 파일 시스템 등 다양한 유형이 존재한다.
더 읽어볼만한 페이지
- 분산 파일 시스템 - 아파치 하둡
아파치 하둡은 대용량 데이터를 분산 처리하기 위한 자바 기반의 오픈 소스 프레임워크로, HDFS, 맵리듀스, YARN 등의 모듈로 구성되어 클라우드 환경에서도 사용된다. - 분산 파일 시스템 - 제로넷
제로넷은 중앙 서버 없이 P2P 방식으로 운영되어 검열에 저항성을 가지며 사용자가 직접 콘텐츠를 공유할 수 있는 분산 네트워크 플랫폼으로, 웹사이트 개발이 가능하고 제로넷-컨서번시 포크를 통해 기능 추가 및 새로운 P2P 네트워크로의 마이그레이션이 진행 중이다. - 네트워크 파일 시스템 - 클라우드 스토리지
클라우드 스토리지는 가상화 기술을 기반으로 데이터를 분산 저장하여 관리하며, 웹 또는 앱을 통해 파일 작업이 가능하고 용량 확장이 유연하며, 객체, 파일, 블록 스토리지의 세 가지 유형으로 발전했다. - 네트워크 파일 시스템 - 아마존 S3
아마존 S3는 AWS에서 제공하는 객체 스토리지 서비스로, 데이터 액세스 빈도 및 성능 요구 사항에 따라 다양한 스토리지 클래스를 제공하며 높은 확장성, 고가용성, 낮은 지연 시간, 높은 내구성을 제공한다. - 데이터 관리 - 데이터 센터
데이터센터는 컴퓨터 시스템 및 관련 장비와 지원 인프라를 수용하는 시설로, 기술 발전에 따라 규모와 중요성이 확대되었으며, 에너지 효율과 보안을 고려하여 설계 및 운영되고, TIA-942 표준에 따른 티어 분류와 친환경 기술 도입이 이루어지고 있다. - 데이터 관리 - 정보 아키텍처
정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
분산 파일 시스템 |
---|
2. 투명성
분산 파일 시스템은 투명성을 갖는 경우가 많아, 프로그램이나 사용자 입장에서 보면 네트워크를 경유하는 파일이 로컬 디스크 상의 파일과 완전히 동일하게 취급될 수 있다. 서버나 저장 장치의 다양성과 분산은 은폐된다. 파일의 배치나 데이터 전송은 파일 시스템에 맡겨진다.
DEC은 1976년 DECnet Phase II의 일부로 데이터 액세스 프로토콜 구현인 파일 액세스 리스너(FAL)를 개발했는데, 이는 세계 최초로 널리 사용된 네트워크 파일 시스템이다.[1] 1985년, 썬 마이크로시스템즈는 세계 최초로 널리 사용되는 인터넷 프로토콜 기반 네트워크 파일 시스템인 네트워크 파일 시스템(NFS)을 개발했다.[1] 이 외에도 앤드루 파일 시스템(AFS), 애플 파일링 프로토콜(AFP), 넷웨어 코어 프로토콜(NCP), 서버 메시지 블록(SMB)과 같은 네트워크 파일 시스템이 있다.[1]
네트워크 파일 시스템에서는 처리에 걸리는 시간 또한 중요한 과제이다. 일반적인 파일 접근의 경우, 이는 디스크 접근 시간과 약간의 CPU 처리 시간에 해당한다. 네트워크 파일 시스템에서는 분산 구조이기에 추가적인 오버헤드가 필요하다. 이 오버헤드에는 서버에 요청을 전달하는 데 걸리는 시간, 응답을 클라이언트로 되돌리는 데 걸리는 시간 등이 포함된다. 양쪽 방향 모두 정보 전송 시간뿐만 아니라, 통신 프로토콜 소프트웨어 실행에 걸리는 CPU 시간이 포함된다. 네트워크 파일 시스템의 성능은 어떤 의미에서는 네트워크 파일 시스템의 투명성의 일부라고 할 수 있다. 즉, 이상적인 네트워크 파일 시스템의 성능은 로컬 디스크 접근과 동일한 수준이 된다.
여러 클라이언트 프로세스가 동일한 파일을 동시에 갱신할 수 있어야 한다. 한 클라이언트의 파일 갱신이 다른 클라이언트의 참조나 갱신을 방해하지 않도록 동시성 제어나 락을 파일 시스템 또는 추가 프로토콜에 통합해야 한다.[1]
분산 데이터 스토어는 사용자가 자신의 정보를 여러 노드에 저장하는 것을 의미하는 개념이다. 이는 분산 데이터베이스로 구현되거나, 여러 사용자가 P2P 네트워크상에서 정보를 저장하는 방식으로 구현될 수 있다.
3. 역사
4. 성능
5. 동시 파일 갱신
6. 분산 데이터 스토어
분산 데이터 스토어는 오류 감지 및 수정 기술을 사용한다. 일부는 파일의 일부가 손상되거나 사용할 수 없을 때 원본 파일을 복구하기 위해 순방향 오류 수정 기술을 사용하며, 다른 저장소는 다른 미러에서 해당 파일을 다시 다운로드하려고 시도한다.
6. 1. 분산 데이터베이스
분산 데이터 저장소는 관계형 데이터베이스가 아니며, 여러 노드에 분산된 데이터에 빠르게 접근할 수 있도록 설계되었다. 예를 들어 구글의 빅테이블은 분산 파일 시스템이나 P2P 네트워크에 가깝다.[7] 아마존의 다이나모[8], 마이크로소프트 애저 스토리지[9] 등도 분산 데이터베이스의 예시이다.
분산 데이터베이스는 빠른 읽기/쓰기 속도를 위해 가용성을 우선시하고 일관성을 희생하는 경우가 많다. CAP 정리에 따르면, 분산 환경에서는 일관성, 가용성, 분할 내성(Partition tolerance)을 동시에 만족하는 것은 불가능하다.
6. 1. 1. 분산 비관계형 데이터베이스
분산 데이터베이스는 일반적으로 많은 수의 노드에서 데이터에 빠르게 접근할 수 있게 해주는 비관계형 데이터베이스이다. 일부 분산 데이터베이스는 풍부한 쿼리 기능을 제공하는 반면, 다른 데이터베이스는 키-값 저장소 의미 체계로 제한된다. 제한된 분산 데이터베이스의 예로는 구글(Google)의 빅테이블, 분산 파일 시스템이나 P2P 네트워크보다 훨씬 더 발전된 시스템,[3] 아마존(Amazon.com)의 다이나모[4]와 마이크로소프트 애저 스토리지가 있다.[5]
임의의 쿼리 기능이 가용성만큼 중요하지 않기 때문에 분산 데이터 저장소 설계자는 일관성을 희생하여 가용성을 높였다. 그러나 빠른 읽기/쓰기 액세스는 CAP 정리에 명시된 바와 같이 파티션된 네트워크에서 일관성과 가용성을 모두 보장할 수 없으므로 일관성이 감소하는 결과를 낳는다.
제품 | 라이선스 | 고가용성 | 비고 |
---|---|---|---|
Apache Accumulo | AL2 | ||
Aerospike | AGPL | ||
Apache Cassandra | AL2 | 예 | 과거 페이스북에서 사용 |
Apache Ignite | AL2 | ||
Bigtable | 독점 | 구글에서 사용 | |
Couchbase | AL2 | 링크드인, 페이팔, 이베이에서 사용 | |
CrateDB | AL2 | 예 | |
Apache Druid | AL2 | 넷플릭스와 야후에서 사용 | |
Dynamo | 독점 | 아마존에서 사용 | |
etcd | AL2 | 예 | |
Hazelcast | AL2, Proprietary | ||
HBase | AL2 | 예 | 과거 페이스북에서 사용 |
Hypertable | GPL 2 | 바이두 | |
MongoDB | SSPL | ||
MySQL NDB 클러스터 | GPL 2 | 예 | SQL 및 NoSQL API |
Riak | AL2 | 예 | |
Redis | BSD 라이선스 | 예 | |
ScyllaDB | AGPL | ||
Voldemort | AL2 | 링크드인에서 사용 | |
6. 2. P2P 네트워크에 의한 데이터 스토어
P2P 네트워크에 의한 데이터 스토어에서는 사용자들이 서로 자신의 컴퓨터를 스토리지 노드로 제공하고, 동시에 다른 사용자의 컴퓨터를 스토리지 노드로 이용한다. 어떤 정보에 다른 사용자가 접근할 수 있는지는 네트워크 설계에 따라 달라진다.많은 피어 투 피어 네트워크는 각 사용자의 노드가 항상 네트워크상에 있는 것이 아니기 때문에 분산 데이터 스토어를 갖지 않는다. 비트토렌트와 같이 예외적인 경우도 있지만, 프리넷, 윈니, Share, Perfect Dark처럼 모든 노드가 네트워크 파일의 일부를 저장하는 경우도 있다.
분산 데이터 스토어는 오류 검출 및 정정 기법을 사용한다. 순방향 오류 수정을 이용하거나, 다른 미러에서 파일을 다시 다운로드하는 방식을 사용한다.
6. 2. 1. P2P 네트워크 데이터 스토어
피어 투 피어 네트워크 데이터 저장소에서 사용자는 상호 작용하여 다른 사용자가 자신의 컴퓨터를 저장 노드로 사용할 수 있도록 허용할 수 있다. 네트워크의 설계에 따라 다른 사용자가 정보를 사용할 수 있거나 없을 수 있다.대부분의 피어 투 피어 네트워크는 사용자의 데이터가 해당 노드가 네트워크에 접속되어 있을 때만 사용 가능하므로 분산 데이터 저장소를 가지고 있지 않다. 그러나 이러한 구분은 비트토렌트와 같은 시스템에서는 다소 모호해지는데, 원본 노드가 오프라인 상태가 되더라도 콘텐츠를 계속 제공할 수 있기 때문이다. 그럼에도 불구하고, 이는 재배포자가 요청한 개별 파일에만 해당하며, 프리넷, 위니, Share, Perfect Dark와 같은 네트워크와는 대조되는데, 이러한 네트워크에서는 모든 노드가 네트워크의 파일 일부를 저장할 수 있다.
분산 데이터 저장소는 일반적으로 오류 감지 및 수정 기술을 사용한다. 일부 분산 데이터 저장소 (예: NNTP를 통한 Parchive)는 파일의 일부가 손상되거나 사용할 수 없을 때 원본 파일을 복구하기 위해 순방향 오류 수정 기술을 사용한다. 다른 저장소는 다른 미러에서 해당 파일을 다시 다운로드하려고 시도한다.
7. 주요 프로토콜
DEC이 1970년대에 DECnet Phase II의 일부인 데이터 액세스 프로토콜 구현으로 파일 액세스 리스너(FAL)를 개발하면서 네트워크 파일 시스템이 널리 사용되기 시작했다. 1985년, 썬 마이크로시스템즈는 인터넷 프로토콜 기반 네트워크 파일 시스템인 네트워크 파일 시스템(NFS)을 개발했다. 이 외에도 앤드루 파일 시스템(AFS), 애플 파일링 프로토콜(AFP), 넷웨어 코어 프로토콜(NCP), 서버 메시지 블록(SMB) 등이 개발되었다.
주요 분산 파일 시스템은 다음과 같다.
이름 | 설명 |
---|---|
9P | Plan 9의 통신 프로토콜 |
Amazon Simple Storage Service(Amazon S3) | |
Andrew File System(AFS) | 카네기 멜론 대학교(CMU) 개발. NFS 버전 4에 영향. OpenAFS가 구현체 중 하나. |
Apple Filing Protocol(AFP) | 애플(Apple Inc.) |
DCE/DFS | 분산 컴퓨팅 환경(DCE)의 일부. AFS의 영향. |
MapR FS | 파일, 테이블, 메시징 API를 사용할 수 있는 고성능 분산 파일 시스템. |
NetWare Core Protocol (NCP) | 노벨(Novell) |
Network File System(NFS) | 썬 마이크로시스템즈(Sun Microsystems) |
Self-certifying File System (SFS) | |
Server Message Block(SMB) | 원래 IBM 개발. 많은 버전은 마이크로소프트(Microsoft) 개발. Common Internet File System (CIFS)라고도 함. |
WebDAV | 하이퍼텍스트 전송 프로토콜(HTTP) 확장. 웹 서버를 분산 파일 시스템으로 사용하기 위한 프로토콜. |
7. 1. 분산 파일 시스템
1970년대에 DEC이 DECnet Phase II의 일부인 데이터 액세스 프로토콜 구현으로 파일 액세스 리스너(FAL)를 개발하면서 네트워크 파일 시스템이 널리 사용되기 시작했다. 1985년, 썬 마이크로시스템즈는 인터넷 프로토콜 기반 네트워크 파일 시스템인 네트워크 파일 시스템(NFS)을 개발했다. 이 외에도 앤드루 파일 시스템(AFS), 애플 파일링 프로토콜(AFP), 넷웨어 코어 프로토콜(NCP), 서버 메시지 블록(SMB) 등이 개발되었다.다음은 주요 분산 파일 시스템 목록이다.
이름 | 설명 |
---|---|
9P | Plan 9의 통신 프로토콜 |
Amazon Simple Storage Service(Amazon S3) | |
Andrew File System(AFS) | 카네기 멜론 대학교(CMU) 개발. NFS 버전 4에 영향. OpenAFS가 구현체 중 하나. |
Apple Filing Protocol(AFP) | 애플(Apple Inc.) |
DCE/DFS | 분산 컴퓨팅 환경(DCE)의 일부. AFS의 영향. |
MapR FS | 파일, 테이블, 메시징 API를 사용할 수 있는 고성능 분산 파일 시스템. |
NetWare Core Protocol (NCP) | 노벨(Novell) |
Network File System(NFS) | 썬 마이크로시스템즈(Sun Microsystems) |
Self-certifying File System (SFS) | |
Server Message Block(SMB) | 원래 IBM 개발. 많은 버전은 마이크로소프트(Microsoft) 개발. Common Internet File System (CIFS)라고도 함. |
WebDAV | 하이퍼텍스트 전송 프로토콜(HTTP) 확장. 웹 서버를 분산 파일 시스템으로 사용하기 위한 프로토콜. |
7. 1. 1. 분산 결함 허용 파일 시스템
- 코다 - 카네기 멜론 대학교(CMU)가 개발한 AFS의 후속 분산 파일 시스템이다.
- 분산 파일 시스템(Dfs) - 마이크로소프트에서 개발하였다. 투명성과 고가용성을 중시한다.
- InterMezzo - HTTP를 사용한 동기화를 지원한다. 개발자들이 Lustre로 이동하여 이미 개발이 종료되었다.
- MooseFS (MooseFS)
7. 1. 2. 분산 병렬 파일 시스템
FhGFS는 프라운호퍼 협회에서 개발한 병렬 가상 파일 시스템이다.7. 1. 3. 분산 병렬 결함 허용 파일 시스템
- 카이론 FS[10] - FUSE 기반으로, 기존 파일 시스템을 사용하여 파일 시스템 레벨에서 RAID1 (미러링)을 구현한다. 단, 프로젝트는 2008년 이후 저조하다.
- Coherent Remote File System (CRFS) - Btrfs를 사용하며, 현재 개발 중이다.
- Gfarm 파일 시스템 - 산업기술종합연구소가 개발한 그리드용 분산 파일 시스템이다. 메타데이터는 OpenLDAP 또는 PostgreSQL을 사용하고, 마운트는 FUSE 또는 LUFS를 사용한다.
- Ceph - 캘리포니아 대학교 샌타크루즈에서 개발되었으며, Linux 커널 2.6.34에 통합되었다.
- GlusterFS
- 구글 파일 시스템(Google File System) - 구글(Google)이 개발한 분산 파일 시스템이다.
- Hadoop - Apache에 의한 GoogleFS 클론이다.
- HAMMER/ANVIL - DragonFly BSD
- Lustre - 스토리지의 페일오버에 의한 고가용성을 실현한다.
- PlasmaFS[11] - SunRPC 방식의 프로토콜을 채택하고, 트랜잭션 API를 구현한다. NFS 볼륨으로도 마운트 가능하며, POSIX 호환된다. 데이터와 메타데이터 모두 복제 대상이다.
- PNFS (Parallel NFS)[12] - NFS의 최신 버전이다.
- POHMELFS (Parallel Optimized Host Message Exchange Layered File System) - POSIX를 준수하며, Linux 커널 2.6.30부터 포함되었다.
- XtreemFS - SSL과 X.509 인증을 지원하여 공중 네트워크를 통한 운용이 가능하다.
- zFS - IBM의 z/OS 파일 시스템 (ZFS와는 다름)으로, 분산 트랜잭션 지향적이다.
7. 2. SAN/클러스터 파일 시스템
참조
[1]
서적
Distributed Storage
[2]
웹사이트
Distributed Data Storage - an overview | ScienceDirect Topics
https://www.scienced[...]
[3]
웹사이트
Bigtable: Google's Distributed Data Store
http://the-paper-tra[...]
Paper Trail
2011-04-05
[4]
웹사이트
Dynamo: Amazon's Highly Available Key-value Store
http://www.cs.uwater[...]
WATERLOO – CHERITON SCHOOL OF COMPUTER SCIENCE
2011-04-05
[5]
웹사이트
Windows Azure Storage
http://www.microsoft[...]
2011-11-06
[6]
서적
Operating System concepts
Addison-Wesley Publishing Company
1994
[7]
웹사이트
BigTable: Google's Distributed Data Store
http://the-paper-tra[...]
Paper Trail
2011-04-05
[8]
웹사이트
Dynamo: Amazon’s Highly Available Key-value Store
http://www.cs.uwater[...]
WATERLOO | CHERITON SCHOOL OF COMPUTER SCIENCE
2011-04-05
[9]
웹사이트
Windows Azure Storage
http://www.microsoft[...]
2011-11-06
[10]
웹사이트
ChironFS - A filesystem must go on, even if it is hurt
http://www.furquim.o[...]
Furquim.org
2012-06-15
[11]
웹사이트
The Plasma Project
http://plasma.camlci[...]
Plasma.camlcity.org
2012-06-15
[12]
웹사이트
pNFS
http://www.pnfs.com
2012-07-06
[13]
웹사이트
tahoe-lafs
http://allmydata.org[...]
Allmydata.org
2012-06-15
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com